package models

import "sanrenx.com/xyxf/pkg/orm"

/**
 * @Description: 歌曲
 */
type Audio struct {
	ID   uint64 `gorm:"primarykey" json:"id"`
	Name string `json:"name"` //歌名
	//人物
	KeymanID   uint64 `json:"keymanId"`
	KeymanName string `json:"keymanName"`

	AudioUrl string `json:"audioUrl"` //音频
	Duration int    `json:"duration"` //时长(秒)

	Hot       int           `json:"hot"` //热力值
	CreatedAt orm.LocalTime `json:"createdAt"`
}

/**
 * @Description: 歌单
 */
type Playlist struct {
	ID      uint64 `gorm:"primarykey" json:"id"`
	Mode    string `json:"mode"`    //类型 歌单&专辑&排行
	Name    string `json:"name"`    //名称
	IconUrl string `json:"iconUrl"` //封面
	//分类
	CategoryID   int    `json:"categoryId"`
	CategoryName string `json:"categoryName"`
	//人物
	KeymanID   uint64 `json:"keymanId"`
	KeymanName string `json:"keymanName"`

	Hot       int           `json:"hot"` //热力值
	CreatedAt orm.LocalTime `json:"createdAt"`
}

/**
 * @Description: 歌曲详情
 */
type AudioDetails struct {
	orm.Model
	Name string `json:"name"` //歌名
	//人物
	KeymanID   uint64  `gorm:"index" json:"keymanId"`
	KeymanName string  `json:"keymanName"`
	Keyman     *Keyman `gorm:"foreignKey:KeymanID" json:"keyman"`

	AudioUrl string `json:"audioUrl"` //音频
	Duration int    `json:"duration"` //时长(秒)

	Lyrics string `json:"lyrics"` //歌词lrc文本

	Hot int `json:"hot"` //热力值
}

/**
 * @Description: 歌单详情
 */
type PlaylistDetails struct {
	orm.Model
	Mode    string `json:"mode"`    //类型 歌单&专辑&排行
	Name    string `json:"name"`    //名称
	IconUrl string `json:"iconUrl"` //封面
	//分类
	CategoryID   int       `gorm:"index" json:"categoryId"`
	CategoryName string    `json:"categoryName"`
	Category     *Category `gorm:"foreignKey:CategoryID" json:"category"`
	//人物
	KeymanID   uint64  `gorm:"index" json:"keymanId"`
	KeymanName string  `json:"keymanName"`
	Keyman     *Keyman `gorm:"foreignKey:KeymanID" json:"keyman"`

	Intro string `json:"intro"`

	Hot int `json:"hot"` //热力值
}
